class Solution2 {
    public static void main(String[] args) {
        int[] a ={0,1,1,1,1};
        int[] b = {1,0,1,0,1};
        System.out.println(findLength(a,b));
    }
    public static int findLength(int[] nums1, int[] nums2) {
        int n = nums1.length;
        int m = nums2.length;
        int max = 0 ;
        int[][] dp = new int[n+1][m+1];
        for(int i=1 ; i <= n ; i ++){
            for(int j=1 ; j<=m ; j++){
                if(nums1[i-1] == nums2[j-1]){
                    dp[i][j] = dp[i-1][j-1] + 1;
                }
                max = Math.max(dp[i][j] , max);
            }
        }
        return max;
    }
}